bitkeeper revision 1.1108.42.1 (410a533ba5rMjZR_8GxQMCvpvadY1A)
authorcl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Fri, 30 Jul 2004 13:55:07 +0000 (13:55 +0000)
committercl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Fri, 30 Jul 2004 13:55:07 +0000 (13:55 +0000)
- only map 1st MB in privileged guests
- allow ioremap for non-privileged domains

linux-2.6.7-xen-sparse/arch/xen/i386/mm/init.c
linux-2.6.7-xen-sparse/arch/xen/i386/mm/ioremap.c
linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/fixmap.h
linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/io.h

index 5cd365e9e729ff3bdf9d2395786272430d27493d..26097966dfbede2549f31a842225f7b92c27df8b 100644 (file)
@@ -499,7 +499,7 @@ void __init paging_init(void)
        HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
        memset(empty_zero_page, 0, sizeof(empty_zero_page));
 
-#ifdef CONFIG_XEN_PHYSDEV_ACCESS
+#ifdef CONFIG_XEN_PRIVILEGED_GUEST
        /* Setup mapping of lower 1st MB */
        for (i = 0; i < NR_FIX_ISAMAPS; i++)
                set_fixmap_ma(FIX_ISAMAP_BEGIN - i, i * PAGE_SIZE);
index 7ac9d527daf0e7ae30b32e8248cd0262c5bae2fd..d254d6b4fc2214297112fc5ce8d2b4292b1c22b6 100644 (file)
@@ -117,9 +117,6 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag
        struct vm_struct * area;
        unsigned long offset, last_addr;
 
-       if (!(start_info.flags & SIF_PRIVILEGED))
-               return NULL;
-
        /* Don't allow wraparound or zero size */
        last_addr = phys_addr + size - 1;
        if (!size || last_addr < phys_addr)
index 78e1fb8915566964da44057de9a0b62c11d76ca6..75bc078ec09abb4e090d5f34051e98a38e6cb951 100644 (file)
@@ -75,7 +75,7 @@ enum fixed_addresses {
        FIX_PCIE_MCFG,
 #endif
        FIX_SHARED_INFO,
-#ifdef CONFIG_XEN_PHYSDEV_ACCESS
+#ifdef CONFIG_XEN_PRIVILEGED_GUEST
 #define NR_FIX_ISAMAPS 256
        FIX_ISAMAP_END,
        FIX_ISAMAP_BEGIN = FIX_ISAMAP_END + NR_FIX_ISAMAPS - 1,
index 321d4788e1442272bc4022a33a00ec78c3ca1f45..6d4c9e0f2e872b5a833123f44e71b575e09408d9 100644 (file)
@@ -123,7 +123,7 @@ extern void bt_iounmap(void *addr, unsigned long size);
  */
 #define isa_virt_to_bus(_x) BUG() // should be (void *)((FIX_ISAMAP_BEGIN - __virt_to_fix((_x))) << PAGE_SHIFT)
 #define isa_page_to_bus(_x) BUG()  // page_to_phys(_x)
-#ifdef CONFIG_XEN_PHYSDEV_ACCESS
+#ifdef CONFIG_XEN_PRIVILEGED_GUEST
 #define isa_bus_to_virt(_x) (void *)__fix_to_virt(FIX_ISAMAP_BEGIN - ((_x) >> PAGE_SHIFT))
 #else
 #define isa_bus_to_virt(_x) (void *)0L /* XXXcl */